Added xen_session_clear_error.
authorewan@localhost.localdomain <ewan@localhost.localdomain>
Mon, 16 Apr 2007 23:19:07 +0000 (19:19 -0400)
committerewan@localhost.localdomain <ewan@localhost.localdomain>
Mon, 16 Apr 2007 23:19:07 +0000 (19:19 -0400)
Signed-off-by: Ewan Mellor <ewan@xensource.com>
tools/libxen/include/xen_common.h
tools/libxen/src/xen_common.c

index 688df1c686fae3c2b2714cddaa55ff387bbef675..fc8d092e7420753ee7ddd4f08b60db58dc220541 100644 (file)
@@ -159,6 +159,13 @@ extern void
 xen_session_logout(xen_session *session);
 
 
+/**
+ * Clear any error condition recorded on this session.
+ */
+void
+xen_session_clear_error(xen_session *session);
+
+
 /**
  * Get the UUID of the second given session.  Set *result to point at a
  * string, yours to free.
index b22ab2fcee934d51541c5cee3289ae392e911c94..f0fc4cce3310ba3fc3d687a7ad133ca8edb9c9c6 100644 (file)
@@ -207,6 +207,23 @@ xen_session_logout(xen_session *session)
 }
 
 
+void
+xen_session_clear_error(xen_session *session)
+{
+    if (session->error_description != NULL)
+    {
+        for (int i = 0; i < session->error_description_count; i++)
+        {
+            free(session->error_description[i]);
+        }
+        free(session->error_description);
+    }
+    session->error_description = NULL;
+    session->error_description_count = 0;
+    session->ok = true;
+}
+
+
 bool
 xen_session_get_uuid(xen_session *session, char **result,
                      xen_session *self_session)